CHDIR(2) | п═я┐п╨п╬п╡п╬п╢я│я┌п╡п╬ п©я─п╬пЁя─п╟п╪п╪п╦я│я┌п╟ Linux | CHDIR(2) |
п≤п°п╞¶
chdir, fchdir - п╦п╥п╪п╣п╫п╦я┌я▄ я─п╟п╠п╬я┤п╦п╧ п╨п╟я┌п╟п╩п╬пЁ
п·п▒п≈п·п═¶
#include <unistd.h>
int chdir(const char *path);
int fchdir(int fd);
п╒я─п╣п╠п╬п╡п╟п╫п╦я▐
п╪п╟п╨я─п╬я│п╟
я┌п╣я│я┌п╦я─п╬п╡п╟п╫п╦я▐
я│п╡п╬п╧я│я┌п╡
п╢п╩я▐ glibc
(я│п╪. feature_test_macros(7)):
fchdir(): _BSD_SOURCE || _XOPEN_SOURCE >= 500
п·п÷п≤п║п░п²п≤п∙¶
chdir() п╦п╥п╪п╣п╫я▐п╣я┌ я┌п╣п╨я┐я┴п╦п╧ я─п╟п╠п╬я┤п╦п╧ п╨п╟я┌п╟п╩п╬пЁ п╡я▀п╥п╡п╟п╡я┬п╣пЁп╬ п©я─п╬я├п╣я│я│п╟ п╫п╟ п╨п╟я┌п╟п╩п╬пЁ, я┐п╨п╟п╥п╟п╫п╫я▀п╧ п╡ path.
fchdir() п╦п╢п╣п╫я┌п╦я┤п╣п╫ chdir(); я─п╟п╥п╫п╦я├п╟ п╡ я┌п╬п╪, я┤я┌п╬ п╨п╟я┌п╟п╩п╬пЁ я┐п╨п╟п╥я▀п╡п╟п╣я┌я│я▐ п╡ п╡п╦п╢п╣ п╬я┌п╨я─я▀я┌п╬пЁп╬ я└п╟п╧п╩п╬п╡п╬пЁп╬ п╢п╣я│п╨я─п╦п©я┌п╬я─п╟.
п▓п·п≈п▓п═п░п╘п░п∙п°п·п∙ п≈п²п░п╖п∙п²п≤п∙¶
п÷я─п╦ я┐я│п©п╣я┬п╫п╬п╪ п╡я▀п©п╬п╩п╫п╣п╫п╦п╦ п╡п╬п╥п╡я─п╟я┴п╟п╣я┌я│я▐ 0. п▓ я│п╩я┐я┤п╟п╣ п╬я┬п╦п╠п╨п╦ п╡п╬п╥п╡я─п╟я┴п╟п╣я┌я│я▐ -1, п╟ errno я┐я│я┌п╟п╫п╟п╡п╩п╦п╡п╟п╣я┌я│я▐ п╡ я│п╬п╬я┌п╡п╣я┌я│я┌п╡я┐я▌я┴п╣п╣ п╥п╫п╟я┤п╣п╫п╦п╣.
п·п╗п≤п▒п п≤¶
п▓ п╥п╟п╡п╦я│п╦п╪п╬я│я┌п╦ п╬я┌ я└п╟п╧п╩п╬п╡п╬п╧ я│п╦я│я┌п╣п╪я▀ п╪п╬пЁя┐я┌ п╠я▀я┌я▄ п╡п╬п╥п╡я─п╟я┴п╣п╫я▀ п╢я─я┐пЁп╦п╣ п╬я┬п╦п╠п╨п╦. п²п╟п╦п╠п╬п╩п╣п╣ я─п╟я│п©я─п╬я│я┌я─п╟п╫я▒п╫п╫я▀п╣ п╬я┬п╦п╠п╨п╦ chdir():
- EACCES
- п▓ п╬п╢п╫п╬п╪ п╦п╥ п╨п╟я┌п╟п╩п╬пЁп╬п╡ п©я─п╣я└п╦п╨я│п╟ path п╫п╣ я─п╟п╥я─п╣я┬я▒п╫ п©п╬п╦я│п╨ (cп╪. я┌п╟п╨п╤п╣ path_resolution(7)).
- EFAULT
- п░я─пЁя┐п╪п╣п╫я┌ path я┐п╨п╟п╥я▀п╡п╟п╣я┌ п╥п╟ п©я─п╣п╢п╣п╩я▀ п╢п╬я│я┌я┐п©п╫п╬пЁп╬ п╟п╢я─п╣я│п╫п╬пЁп╬ п©я─п╬я│я┌я─п╟п╫я│я┌п╡п╟.
- EIO
- п÷я─п╬п╦п╥п╬я┬п╩п╟ п╬я┬п╦п╠п╨п╟ п╡п╡п╬п╢п╟-п╡я▀п╡п╬п╢п╟.
- ELOOP
- п▓п╬ п╡я─п╣п╪я▐ п╬п©я─п╣п╢п╣п╩п╣п╫п╦я▐ path п╡я│я┌я─п╣я┌п╦п╩п╬я│я▄ я│п╩п╦я┬п╨п╬п╪ п╪п╫п╬пЁп╬ я│п╦п╪п╡п╬п╩я▄п╫я▀я┘ я│я│я▀п╩п╬п╨.
- ENAMETOOLONG
- path я│п╩п╦я┬п╨п╬п╪ п╢п╩п╦п╫п╣п╫.
- ENOENT
- п╓п╟п╧п╩ п╫п╣ я│я┐я┴п╣я│я┌п╡я┐п╣я┌.
- ENOMEM
- п²п╣п╢п╬я│я┌п╟я┌п╬я┤п╫п╬п╣ п╨п╬п╩п╦я┤п╣я│я┌п╡п╬ п©п╟п╪я▐я┌п╦ я▐п╢я─п╟.
- ENOTDIR
- п п╬п╪п©п╬п╫п╣п╫я┌ path п╫п╣ я▐п╡п╩я▐п╣я┌я│я▐ п╨п╟я┌п╟п╩п╬пЁп╬п╪.
п²п╟п╦п╠п╬п╩п╣п╣ я─п╟я│п©я─п╬я│я┌я─п╟п╫я▒п╫п╫я▀п╣ п╬я┬п╦п╠п╨п╦ fchdir():
п║п·п·п╒п▓п∙п╒п║п╒п▓п≤п∙ п║п╒п░п²п■п░п═п╒п░п°¶
SVr4, 4.4BSD, POSIX.1-2001.
п≈п░п°п∙п╖п░п²п≤п╞¶
п÷я─п╦ я─п╟п╠п╬я┌п╣ я│ п╬я┌п╫п╬я│п╦я┌п╣п╩я▄п╫я▀п╪п╦ п©я┐я┌я▐п╪п╦ (я┌п╣, п╨п╬я┌п╬я─я▀п╣ п╫п╣ п╫п╟я┤п╦п╫п╟я▌я┌я│я▐ я│ '/') п╥п╟ п╫п╟я┤п╟п╩п╬ п╬я┌я│я┤я▒я┌п╟ п©я─п╦п╫п╦п╪п╟п╣я┌я│я▐ я┌п╣п╨я┐я┴п╦п╧ я─п╟п╠п╬я┤п╦п╧ п╨п╟я┌п╟п╩п╬пЁ.
п■п╬я┤п╣я─п╫п╦п╧ п©я─п╬я├п╣я│я│, я│п╬п╥п╢п╟п╫п╫я▀п╧ п©п╬я│я─п╣п╢я│я┌п╡п╬п╪ fork(2), п╫п╟я│п╩п╣п╢я┐п╣я┌ я┌п╣п╨я┐я┴п╦п╧ я─п╟п╠п╬я┤п╦п╧ п╨п╟я┌п╟п╩п╬пЁ я─п╬п╢п╦я┌п╣п╩я▐. п╒п╣п╨я┐я┴п╦п╧ я─п╟п╠п╬я┤п╦п╧ п╨п╟я┌п╟п╩п╬пЁ п╫п╣ п╪п╣п╫я▐п╣я┌я│я▐ execve(2).
п÷я─п╬я┌п╬я┌п╦п© fchdir() п╢п╬я│я┌я┐п©п╣п╫ я┌п╬п╩я▄п╨п╬ п╣я│п╩п╦ п╬п©я─п╣п╢п╣п╩я▒п╫ п╪п╟п╨я─п╬я│ _BSD_SOURCE п╦п╩п╦ п╥п╫п╟я┤п╣п╫п╦п╣ _XOPEN_SOURCE я─п╟п╡п╫п╬ 500.
п║п°п·п╒п═п≤п╒п∙ п╒п░п п√п∙¶
2007-07-26 | Linux |